home *** CD-ROM | disk | FTP | other *** search
/ InfoMagic Internet Tools 1993 July / Internet Tools.iso / RockRidge / mail / mmdf / mmdf-IIb.43 / src / pop / bboards.h next >
Encoding:
C/C++ Source or Header  |  1990-02-28  |  2.3 KB  |  67 lines

  1. /* bboards.h - definition of a BBoard structure */
  2.  
  3. #define    BBOARDS    "bboards"    /* name in /etc/passwd */
  4. #define    BBDB    "BBoards"    /* file in BBOARDS' home directory */
  5. #define    BBMODE    0644        /* default BBoards mode */
  6. #define    DISTADR    "dist-"        /* prefix for distribution addresses */
  7.  
  8. #ifdef    POP
  9. #define    POPUID    "pop"        /* name in /etc/passwd */
  10. #define    POPDB    "POP"        /* file in POPUID's home directory */
  11. #define    POMODE    0600        /* default POP subscriber maildrop mode */
  12. #endif /* POP */
  13.  
  14. struct bboard {
  15.     char   *bb_name;        /* name of the bboard */
  16.     char  **bb_aka;        /* aliases for the bboards */
  17.  
  18.     char   *bb_file;        /* file it resides in */
  19.     char   *bb_archive;        /* file where archives reside */
  20.     char   *bb_info;        /* file where maxima resides */
  21.     char   *bb_map;        /* file where binary map resides */
  22.  
  23.     char   *bb_passwd;        /* password for it */
  24.  
  25.     char  **bb_leader;        /* list of local leaders */
  26.  
  27.     char   *bb_addr;        /* network address */
  28.     char   *bb_request;        /* network address for requests */
  29.     char   *bb_relay;        /* host acting as relay in local domain */
  30.     char  **bb_dist;        /* distribution list */
  31.  
  32.     unsigned int    bb_flags;    /* various flags */
  33. #define    BB_NULL    0x0000
  34. #define    BB_ARCH    0x0007        /* archive policy */
  35. #define   BB_ASAV    0x0001    /*   save in archives/ directory */
  36. #define      BB_AREM    0x0002    /*   remove without saving */
  37. #define BB_INVIS    0x0010    /* invisible to bbc */
  38. #define    BB_REMOTE    0x0020    /* remote to bbc */
  39. #define    BBITS    "\020\01ARCHIVE\02REMOVE\05INVIS\06REMOTE"
  40.  
  41.     union {            /* unassigned */
  42.     unsigned int    un_count;
  43.     long        un_mtime;
  44.     } bb_un;
  45. #define    bb_count    bb_un.un_count
  46. #define    bb_mtime    bb_un.un_mtime
  47.     
  48.     unsigned int    bb_maxima;    /* highest BBoard-Id in it */
  49.     char   *bb_date;        /* date that maxima was written */
  50.  
  51.     struct bboard *bb_next;    /* unassigned */
  52.     struct bboard *bb_link;    /* unassigned */
  53.     struct bboard *bb_chain;    /* unassigned */
  54. };
  55.  
  56.                 /* flags for setbbent () */
  57. #define    SB_NULL    0x0000
  58. #define    SB_STAY    0x0001        /*   stay open between calls */
  59. #define    SB_FAST    0x0002        /*   fast parse of file */
  60.  
  61. void    make_lower ();
  62. int     setbbent (), endbbent (), setbbfile (), setbbinfo (), setpwinfo (),
  63.     ldrbb (), ldrchk (), getbbdist ();
  64. long    getbbtime ();
  65. char   *getbberr ();
  66. struct bboard  *getbbent (), *getbbnam (), *getbbaka (), *getbbcpy();
  67.